import java.nio.charset.StandardCharsets;
import java.util.Map;

import util.IO;

/**
 * Update
 * @哆啦A梦根据评分细则给出评语并计算分数
 */
public class Update {
    //定义一个运行方法，传入评分细则、存放作业的文件夹的名称及每次作业的名称
    public static void run(String configFile, String hwDir, String hwName) {
        //创建一个小助手哆啦A梦实例，将评分细则和作业打包目录传给哆啦A梦
        Doraemon doraemon = new Doraemon(configFile, hwDir);
        //定义作业扩展名为.txt
        String postFix = ".txt";
        //建立作业评语集的key-value映射集合，由哆啦A梦传入作业名称，对每个作业调用写评语的方法
        Map<String, String> comments = doraemon.writeComment(hwName);
        //返回作业评语集映射中所有 key 组成的 Set 视图（也就是获取文件夹下每个作业文件的名称），对该试图中所有键进行遍历
        for (String key : comments.keySet()) {
            //将文件名的书写格式定为：作业文件名(hw-{1:10}+扩展名.txt)
            String file = key + postFix;
            //以UTF-8码的格式写入comments中每个键所对应的评语
            IO.stringToFile(file, StandardCharsets.UTF_8, comments.get(key));
        }
    }

    public static void main(String[] args) {
        // 测试
        // javac -cp src/ -d dist/ src/Update.java
        // java -cp dist/ Update config.txt hw hw-{1:2}
        //String configFile = args[0];
        String configFile = "config.txt";
        //String hwDir = args[1]; 
        String hwDir = "hw"; 
        //String hwName = args[2];
        String hwName = "hw-10";
        Update.run(configFile, hwDir, hwName);
    }
}